Pull Request Guidelines
PR Title Format
Follow this exact format for consistency:
[Team] | iOS | [Type] | [Ticket] | [Description]
Components:
- Team: Your team name (e.g., Base, Avengers, Ravenclaw, Miyagi ThinKs)
- Platform: Always "iOS" for this project
- Type: Task, Bugfix, Feature, TechDebt, etc.
- Ticket: Full ticket number (e.g., PLATT-36143)
- Description: Brief description of changes
PR Title Examples
Base | iOS | Task | PLATT-36143 | Add Sentry logs for unauthorized requests
Avengers | iOS | Task | PLATT-36139 | Show monetary bonus value on goal card
Miyagi Thinks | iOS | Bugfix | PLATT-24500 | Fix same state event name in challenges
Ravenclaw | iOS | Task | PLATT-35963 | Vorsorgekompass - Add infocard for colon cancer
Pre-PR Checklist
Before opening a Pull Request, ensure you complete the following:
✅ Code Quality
- SwiftLint validation passed - Run
./Pods/SwiftLint/swiftlint
in NavidaProPlugins directory - SwiftFormat applied - Run
./Pods/SwiftFormat/CommandLineTool/swiftformat .
if available - Unit tests added for ViewModel logic and business logic
- Snapshot tests updated if UI components were modified
- No compiler warnings in your changes
✅ Code Integration
- Branch is up-to-date with
develop
branch - Merge conflicts resolved if any exist
- Plugin independence maintained - verify minimal cross-plugin dependencies
- Deep link patterns followed for navigation (if applicable)
✅ Documentation
- PR description includes detailed explanation of changes
- Screenshots included for UI changes
- Breaking changes documented if any
- Plugin-specific documentation updated if needed
✅ Security & Compliance
- No hardcoded secrets or sensitive data
- Data privacy compliance maintained
Plugin-Specific Considerations
Given our modular plugin architecture, consider these additional guidelines:
Plugin Independence
- Avoid direct dependencies between plugins
- Use the DeepLinkManager for inter-plugin communication
- Maintain plugin-specific test coverage
Plugin Development
- Follow existing plugin patterns in your target plugin
- Update plugin configuration if adding new screens or features
- Ensure proper plugin lifecycle management
Environment Considerations
When working across different environments (Dev, Prod, SAPM, SAPW, etc.):
- Test changes across relevant environments
- Verify configuration-specific behavior
- Update environment configs if needed
Review Process
- Self-review your changes before requesting review
- Request review from appropriate team members
- Address feedback promptly and thoroughly
- Verify CI/CD passes all checks
- Merge only after approval and successful builds